#ifndef GAMESTARTNETWORKEVENT_H_
#define GAMESTARTNETWORKEVENT_H_

#include "NetworkEvent.h"

class GameStartNetworkEvent : public NetworkEvent
{
public:

    struct Data
    {
        unsigned int widthOfWell;
    };

    struct Message
    {
        Header header;
        Data data;
    };

    GameStartNetworkEvent(unsigned int widthOfWell);
    GameStartNetworkEvent(const Header& header, const Data& data);
    virtual ~GameStartNetworkEvent();

    virtual void* getMessageBlob();
    virtual size_t getMessageBlobSize();

    virtual GameState* visitClientMenuState(ClientMenuState* clientMenuState) const;
    virtual GameState* visitLobbyState(LobbyState* lobbyState) const;

private:
    Message message;
};

#endif
